Automated key negotiation is the most prevalent form of key management deployed in the Internet today. Typically, automated key negotiation employs Internet Key Exchange (IKE) (or other similar protocols) which is the key management protocol associated with the Internet Protocol Security (IPSec) standard or Secure Sockets Layer (SSL) protocol. Key distribution protocols are often used with key management through a centralized server and in group security applications.
The IKE protocol is the automated key management protocol used to establish IPsec key or Security Association (SA). The SA, or the policy and parameters governing the algorithms and processes used to protect IPsec communication, is negotiated. The key is derived from unique information or nonces shared by the two devices after mutual authentication and from Diffie-Hellman parameters as is known in the art. In some instances the two devices include a client and a server and in other instances the two devices include two peers as is shown in FIG. 1. FIG. 2 illustrates another communication environment in which a centralized server provides a key KEY 1 to each of two devices A and B for establishment of a point-to-point communication session. Generally, the key KEY 1′ supplied to device A is different than the key KEY 1″ supplied to device B.
Using contributory key establishment protocols such as those described above, both devices contribute secret data for computation of the data protection keys. As an example in which a device A wants to establish a secure communication session with each of devices B and C, device A supplies one value to device B and a different value to device C. Devices B and C each contribute a different value and therefore the security key resulting from the applied protocol for the communication between devices A and B is different from the security key generated for communication between devices A and C. Even if device A supplied the same value to device B and device C, the security key for communication between device A and device B would be different than the security key for communication between device A and device C.
Other secure communication configurations such as a center facilitated two-party secure communication, a one-to-many secure communication or a many-to-many secure communication require that a single SA and keys be downloaded to two or more devices. The SSL and IKE protocols described above do not accommodate such configurations. Instead, other protocols such as Group Domain of Interpretation (GDOI) and Multimedia Internet Keying (MIKEY) protocols are often used. The GDOI and MIKEY protocols use a trusted third party or an asymmetric server-client relationship for key establishment. The client contacts the server for keys and, after mutual authentication, the server unilaterally determines the security policy and sends the keys. In some instances multi-party negotiation does not converge or may not otherwise be practical for establishing a secure communication. The client is not involved in determining the security parameters of the current connection. In some instances the client may reject the policy and keys, and abstain from participating in the secure communication.
What is needed is a method for key negotiation and key distribution that avoids the above-described problems. The present invention satisfies this need and provides additional advantages.